26 #ifndef Bembidion_allH
27 #define Bembidion_allH
337 void MoveTo(
int p_dist,
unsigned p_direction,
int p_turning);
341 int MoveToAggr(
int p_dist,
unsigned p_direction,
int p_turning);
392 virtual void Init (
void);
400 virtual void DoLast (
void);
432 #ifdef __BEETLEPESTICIDE1
434 void LocOutputError(
void );
436 void LocOutputOpen(
void );
438 void DoInFieldLocationOutput();
440 #ifdef __RECORD_RECOVERY_POLYGONS
442 void RecordRecoveryPolygons();
443 int m_RecoveryPolygons[101];
444 int m_RecoveryPolygonsC[101];
486 #ifdef __BEETLEPESTICIDE1
497 void incInField() { m_InFieldNo++; }
499 void incInCrop() { m_InCropNo++; }
501 void incOffField() { m_OffFieldNo++; }
503 void PestMortLocOutputOpen(
void );
505 void PestMortLocOutput(
void );
507 void PestMortLocOutputError(
void );
510 void RecordPesticideMortLoc(
int a_x,
int a_y)
vector< APoint > TListOfEggs
Definition: bembidion_all.h:70
TTypesOfBeetleState
Definition: bembidion_all.h:34
@ tobs_PDeveloping
Definition: bembidion_all.h:45
@ tobs_Aggregating
Definition: bembidion_all.h:50
@ tobs_PDying
Definition: bembidion_all.h:47
@ tobs_Hatching
Definition: bembidion_all.h:38
@ tobs_EDying
Definition: bembidion_all.h:39
@ tobs_Destroy
Definition: bembidion_all.h:55
@ tobs_ADying
Definition: bembidion_all.h:53
@ tobs_Hibernating
Definition: bembidion_all.h:51
@ tobs_Pupating
Definition: bembidion_all.h:42
@ tobs_Dispersing
Definition: bembidion_all.h:52
@ tobs_LDeveloping
Definition: bembidion_all.h:41
@ tobs_Foraging
Definition: bembidion_all.h:49
@ tobs_LDying
Definition: bembidion_all.h:43
@ tobs_Initiation
Definition: bembidion_all.h:35
@ tobs_EDeveloping
Definition: bembidion_all.h:37
@ tobs_Emerging
Definition: bembidion_all.h:46
const char * SimulationName
Definition: Bembidion_all.cpp:93
BeetleObjects
Definition: bembidion_all.h:61
@ bob_Egg
Definition: bembidion_all.h:62
@ bob_Adult
Definition: bembidion_all.h:65
@ bob_Larva
Definition: bembidion_all.h:63
@ bob_Pupa
Definition: bembidion_all.h:64
A simple class defining an x,y coordinate set.
Definition: ALMaSS_Setup.h:53
int m_y
Definition: ALMaSS_Setup.h:56
int m_x
Definition: ALMaSS_Setup.h:55
The class describing the adult (female) beetle objects.
Definition: bembidion_all.h:292
void SetPPPEffectProb(double a_conc)
Definition: bembidion_all.h:312
virtual void BeginStep()
Adult BeginStep.
Definition: Bembidion_all.cpp:2189
Bembidion_Adult(int x, int y, Landscape *L, Bembidion_Population_Manager *BPM)
Definition: Bembidion_all.cpp:1366
virtual bool OnFarmEvent(FarmToDo event)
Adult reactions to management events.
Definition: Bembidion_all.cpp:1397
void Reproduce(int p_x, int p_y)
Produces the eggs.
Definition: Bembidion_all.cpp:1910
int OldDirection
The last direction moved.
Definition: bembidion_all.h:359
int st_Hibernate()
Hibernation behaviour.
Definition: Bembidion_all.cpp:1635
int st_Aggregate()
Aggregation behaviour.
Definition: Bembidion_all.cpp:1624
void Init()
Intitialise attribute values.
Definition: Bembidion_all.cpp:1383
void MoveTo(int p_dist, unsigned p_direction, int p_turning)
Moves attempting egg laying under way.
Definition: Bembidion_all.cpp:1746
virtual void Step()
Adult Step.
Definition: Bembidion_all.cpp:2213
static double m_PPPThreshold
PPP effects threshold.
Definition: bembidion_all.h:375
void SetBodyBurden(double a_pcide)
Definition: bembidion_all.h:308
void ReInit(int x, int y, Landscape *L, Bembidion_Population_Manager *BPM)
ReInit for object pool.
Definition: Bembidion_all.cpp:1372
bool st_Aging()
Daily ageing.
Definition: Bembidion_all.cpp:1681
int st_Forage()
Foraging behaviour.
Definition: Bembidion_all.cpp:1604
bool m_CanReproduce
Signal reproductive readiness.
Definition: bembidion_all.h:363
static param_Point pPoint
A helper attribute when simulating movement.
Definition: bembidion_all.h:367
int st_Dispersal()
Intiate Dispersal behaviour.
Definition: Bembidion_all.cpp:1669
virtual ~Bembidion_Adult()
Definition: Bembidion_all.cpp:1378
int MoveToAggr(int p_dist, unsigned p_direction, int p_turning)
Moves using a stopping rule for hibernation.
Definition: Bembidion_all.cpp:1974
static param_List15 pList
A helper attribute when simulating movement.
Definition: bembidion_all.h:365
static double m_PPPEffectProbDecay
Effect probability on threshold excedence.
Definition: bembidion_all.h:379
double m_body_burden
Current body burden of pesticide.
Definition: bembidion_all.h:371
static double m_AdultPPPElimRate
the daily elimination rate for pesticides
Definition: bembidion_all.h:369
virtual void InternalPesticideHandlingAndResponse()
Hand pesticide events code for the beetle.
Definition: Bembidion_all.cpp:2157
void SetAdultPPPElimRate(double a_rate)
Definition: bembidion_all.h:316
virtual bool DailyMortality()
Density-independent mortality.
Definition: Bembidion_all.cpp:2306
void SetPPPEffectProbDecay(double a_decay)
Definition: bembidion_all.h:314
void SetPPPThreshold(double a_thresh)
Definition: bembidion_all.h:310
virtual void EndStep()
Adult EndStep.
Definition: Bembidion_all.cpp:2197
static double m_PPPEffectProb
Effect probability on threshold excedence.
Definition: bembidion_all.h:377
double m_HibernateDegrees
The number of day degrees experienced in the spring which may trigger dispersal.
Definition: bembidion_all.h:356
double m_currentPPPEffectProb
Current effect probability.
Definition: bembidion_all.h:373
bool WinterMort()
Density-independent winter mortality.
Definition: Bembidion_all.cpp:1698
int MoveTo_quality_assess()
Moves w.r.t. habitat quality only.
Definition: Bembidion_all.cpp:1931
int DailyMovement(int p_distance, bool disp_aggreg)
Initiates the daily movement for the beelt.
Definition: Bembidion_all.cpp:1724
int m_EggCounter
The number of eggs produced.
Definition: bembidion_all.h:361
void CanReproduce()
Does reproduction if possible.
Definition: Bembidion_all.cpp:1862
double m_negDegrees
The number of negative day degrees experienced.
Definition: bembidion_all.h:354
bool DDepMort()
Density-dependent mortality.
Definition: Bembidion_all.cpp:2321
The class describing the base class for beetle objects objects.
Definition: bembidion_all.h:142
TTypesOfBeetleState CurrentBState
Current behavioural state.
Definition: bembidion_all.h:159
virtual void EndStep()
EndStep - empty.
Definition: bembidion_all.h:154
void ReInit(int x, int y, Landscape *L, Bembidion_Population_Manager *BPM)
ReInit for object pool.
Definition: Bembidion_all.cpp:213
virtual void st_Die()
Common state Die.
Definition: Bembidion_all.cpp:224
Bembidion_Base(int x, int y, Landscape *L, Bembidion_Population_Manager *BPM)
Constructor.
Definition: Bembidion_all.cpp:205
virtual void Step()
Step - empty.
Definition: bembidion_all.h:152
Bembidion_Population_Manager * m_OurPopulation
Pointer to the population manager.
Definition: bembidion_all.h:161
void CopyMyselfB(int a_beetle)
For experimental purposes.
Definition: Bembidion_all.cpp:258
virtual void BeginStep()
BeginStep - empty.
Definition: bembidion_all.h:150
The class describing the beetle Egg_List objects.
Definition: bembidion_all.h:173
Bembidion_Egg_List(int today, Bembidion_Population_Manager *BPM, Landscape *L)
Egg_List class constructor.
Definition: Bembidion_all.cpp:281
int m_DayMade
Definition: bembidion_all.h:207
void AddEgg(int x, int y)
Add an egg to the list.
Definition: bembidion_all.h:188
virtual void BeginStep()
Egg_List class BeginStep code.
Definition: Bembidion_all.cpp:323
void SortXR()
Definition: Bembidion_all.cpp:634
void DailyMortality()
Egg_List non-temperature or density related mortality.
Definition: Bembidion_all.cpp:363
void st_Hatch()
Egg_List state hatching.
Definition: Bembidion_all.cpp:300
TListOfEggs EggList
The list of eggs.
Definition: bembidion_all.h:197
virtual void Step()
Egg_List class Step code.
Definition: Bembidion_all.cpp:330
int st_Develop()
Egg_List state development.
Definition: Bembidion_all.cpp:289
void DeleteEgg(int x, int y)
Remove an egg from the list.
The class describing the beetle larvae objects.
Definition: bembidion_all.h:217
int st_Develop()
Larvae state development.
Definition: Bembidion_all.cpp:885
int m_LarvalStage
Current larval growth stage (1-3)
Definition: bembidion_all.h:244
int m_DayMade
Definition: bembidion_all.h:246
virtual void BeginStep()
Larvae class BeginStep code.
Definition: Bembidion_all.cpp:953
void st_Pupate()
Larvae state pupation.
Definition: Bembidion_all.cpp:928
virtual void Step()
Larvae Step code.
Definition: Bembidion_all.cpp:961
virtual void KillThis()
Kill this larva.
Definition: Bembidion_all.cpp:946
Bembidion_Larvae(int x, int y, Landscape *L, Bembidion_Population_Manager *BPM)
Larvae class constructor.
Definition: Bembidion_all.cpp:647
bool TempRelatedLarvalMortality(int temp2)
Determine larval temperature related mortality.
Definition: Bembidion_all.cpp:864
void ReInit(int x, int y, Landscape *L, Bembidion_Population_Manager *BPM)
ReInit for object pool.
Definition: Bembidion_all.cpp:656
virtual bool DailyMortality()
Larvae non-temperature or density related mortality.
Definition: Bembidion_all.cpp:1004
double m_AgeDegrees
Record larvae day degrees.
Definition: bembidion_all.h:242
virtual bool OnFarmEvent(FarmToDo event)
Larvae reactions to management events.
Definition: Bembidion_all.cpp:664
The population manager class for beetles.
Definition: bembidion_all.h:386
virtual float Probe(int ListIndex, probe_data *p_TheProbe)
Overides the Population_Manager::Probe method.
Definition: Bembidion_all.cpp:2745
virtual void TheRipleysOutputProbe(FILE *a_prb)
Special output functionality.
Definition: Bembidion_all.cpp:3007
SimplePositionMap * m_LarvaePosMap
Optimised map of larval positions.
Definition: bembidion_all.h:470
int SupplyEggPopSize()
Get egg population size.
Definition: bembidion_all.h:410
int m_LPopSize
To store the current population size.
Definition: bembidion_all.h:457
double SupplyEDayDeg(int day)
Get egg day degress for a specific day.
Definition: bembidion_all.h:416
virtual void DoFirst(void)
Does day degree development calculations here.
Definition: Bembidion_all.cpp:2559
int TodaysEggProduction
Daily temperature determined egg production.
Definition: bembidion_all.h:482
virtual void DoBefore(void)
Replaces the Step function for the Egg_List.
Definition: Bembidion_all.cpp:2671
double SupplyPDayDeg(int day)
Get pupal day degress for a specific day.
Definition: bembidion_all.h:420
virtual void Init(void)
Intialises the population manager.
Definition: Bembidion_all.cpp:2408
double LDDepMort1
Storage for density-dependent mortality parameter.
Definition: bembidion_all.h:476
Bembidion_Population_Manager(Landscape *p_L)
Constructor.
Definition: Bembidion_all.cpp:2355
Bembidion_Egg_List * m_EList[365]
Replacement for TheArray[0].
Definition: bembidion_all.h:484
int m_EPopSize
To store the current population size.
Definition: bembidion_all.h:455
int SupplyPupaePopSize()
Get pupal population size.
Definition: bembidion_all.h:414
double SupplyLDayDeg(int L, int day)
Get larval day degress for a specific dayand instar.
Definition: bembidion_all.h:418
int m_AdPopSize
To store the current population size.
Definition: bembidion_all.h:453
int SupplyLarvaePopSize()
Get larval population size.
Definition: bembidion_all.h:412
virtual void DoAlmostLast(void)
Removes dead or pupated larvae from the simulation.
Definition: Bembidion_all.cpp:2736
SimplePositionMap * m_AdultPosMap
Optimsied map of adult positions.
Definition: bembidion_all.h:472
bool IsStartHabitat(int a_x, int a_y)
Used to specify legal starting habitats for simulation start-up.
Definition: Bembidion_all.cpp:2535
double ADDepMort1
Storage for density-dependent mortality parameter.
Definition: bembidion_all.h:480
virtual void TheReallyBigOutputProbe()
Special output functionality.
Definition: Bembidion_all.cpp:3030
virtual void Catastrophe()
Method to arbitrarily alter populations size.
Definition: Bembidion_all.cpp:3060
int SupplyAdPopSize()
Get adult population size.
Definition: bembidion_all.h:408
int ADDepMort0
Storage for density-dependent mortality parameter.
Definition: bembidion_all.h:478
double m_EDayDeg[365]
Storage for daily day degrees for eggs.
Definition: bembidion_all.h:461
virtual ~Bembidion_Population_Manager()
Destructor.
Definition: Bembidion_all.cpp:2393
int m_PPopSize
To store the current population size.
Definition: bembidion_all.h:459
virtual void TheAOROutputProbe()
Special output functionality.
Definition: Bembidion_all.cpp:3049
virtual void DoLast(void)
Adds output adult locations to DoLast.
Definition: Bembidion_all.cpp:2709
Landscape * The_Landscape
Pointer to the landscape.
Definition: bembidion_all.h:451
int LDDepMort0
Storage for density-dependent mortality parameter.
Definition: bembidion_all.h:474
double m_PDayDeg[365]
Storage for daily day degrees for pupae.
Definition: bembidion_all.h:465
MovementMap * m_MoveMap
Map of suitability for movement.
Definition: bembidion_all.h:468
void CreateObjects(int ob_type, TAnimal *pvo, void *null, struct_Bembidion *data, int number)
Method to add beetles to the population.
Definition: Bembidion_all.cpp:2942
double m_LDayDeg[365][3]
Storage for daily day degrees for larve.
Definition: bembidion_all.h:463
The class describing the beetle pupae objects.
Definition: bembidion_all.h:256
virtual void Step()
Pupae Step code.
Definition: Bembidion_all.cpp:1312
int st_Develop()
Pupal state development.
Definition: Bembidion_all.cpp:1235
Bembidion_Pupae(int x, int y, Landscape *L, Bembidion_Population_Manager *BPM)
Pupae class constructor.
Definition: Bembidion_all.cpp:1020
virtual void BeginStep()
Pupae BeginStep code.
Definition: Bembidion_all.cpp:1304
int m_DayMade
Definition: bembidion_all.h:283
virtual void KillThis()
Kill this pupa.
Definition: Bembidion_all.cpp:1297
virtual bool DailyMortality()
Pupae non-temperature or density related mortality.
Definition: Bembidion_all.cpp:1352
virtual bool OnFarmEvent(FarmToDo event)
Pupal reactions to management events.
Definition: Bembidion_all.cpp:1035
void st_Emerge()
Pupal state emergence.
Definition: Bembidion_all.cpp:1281
double m_AgeDegrees
Record pupal day degrees.
Definition: bembidion_all.h:281
void ReInit(int x, int y, Landscape *L, Bembidion_Population_Manager *BPM)
ReInit for object pool.
Definition: Bembidion_all.cpp:1028
Function class to compare to Eggs X.
Definition: bembidion_all.h:129
bool operator()(APoint A1, APoint A2) const
Definition: bembidion_all.h:131
The landscape class containing all environmental and topographical data.
Definition: landscape.h:113
TTypesOfVegetation SupplyVegType(int a_x, int a_y)
Definition: landscape.h:1321
TTypesOfLandscapeElement SupplyElementType(int a_polyref)
Definition: landscape.h:1110
Movement maps are used for rapid computing of animal movement.
Definition: MovementMap.h:51
Base class for all population managers.
Definition: PopulationManager.h:424
Landscape * m_TheLandscape
Definition: PopulationManager.h:515
Used to map locations of individuals for density estimates - space inefficient but good for testing.
Definition: positionmap.h:47
The base class for all ALMaSS animal classes.
Definition: PopulationManager.h:205
virtual void CopyMyself()
Definition: PopulationManager.h:224
Definition: bembidion_all.h:104
int BeenThereY[101]
Definition: bembidion_all.h:107
int BeenThereX[101]
Definition: bembidion_all.h:106
int nsteps
Definition: bembidion_all.h:108
Definition: bembidion_all.h:95
int y
Definition: bembidion_all.h:98
unsigned direction
Definition: bembidion_all.h:99
int x
Definition: bembidion_all.h:97
Data structure to hold & output probe data probe data is designed to be used to return the number of ...
Definition: PopulationManager.h:284
A data class for Bembidion data.
Definition: bembidion_all.h:114
int DayDegrees
Definition: bembidion_all.h:116
int x
Definition: bembidion_all.h:117
Landscape * L
Definition: bembidion_all.h:119
int y
Definition: bembidion_all.h:118
int HowMany
Definition: bembidion_all.h:121
Bembidion_Population_Manager * BPM
Definition: bembidion_all.h:120
TTypesOfLandscapeElement
Definition: tole_declaration.h:36
@ tole_Field
Definition: tole_declaration.h:43
@ tole_Orchard
Definition: tole_declaration.h:71
TTypesOfVegetation
Definition: tov_declaration.h:30
FarmToDo
Definition: treatment.h:31